home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Source.bin / RadioButtonGroupPanelBeanInfo.java < prev    next >
Text File  |  1998-08-21  |  5KB  |  151 lines

  1. package symantec.itools.awt;
  2.  
  3. import java.beans.*;
  4. import symantec.itools.beans.*;
  5. import java.util.ResourceBundle;
  6.  
  7. //  09/11/97    LAB    Added selectedRadioButtonIndex property and connections.
  8. //  09/13/97    LAB    Removed extranious getPropertyDescriptors method and
  9. //                    removed extranious getMethodDescriptors method.
  10. //  08/19/98    LAB    Moved to GroupAWTAdditions folder.
  11.  
  12. /**
  13.  * BeanInfo for RadioButtonGroupPanel.
  14.  *
  15.  */
  16. public class RadioButtonGroupPanelBeanInfo extends SimpleBeanInfo {
  17.  
  18.     /**
  19.      * Constructs a RadioButtonGroupPanelBeanInfo object.
  20.      */
  21.     public RadioButtonGroupPanelBeanInfo() {
  22.     }
  23.  
  24.     /**
  25.      * Gets a BeanInfo for the superclass of this bean.
  26.      * @return BeanInfo[] containing this bean's superclass BeanInfo
  27.      */
  28.     public BeanInfo[] getAdditionalBeanInfo() {
  29.         try {
  30.             BeanInfo[] bi = new BeanInfo[1];
  31.             bi[0] = Introspector.getBeanInfo(beanClass.getSuperclass());
  32.             return bi;
  33.         }
  34.         catch (IntrospectionException e) { throw new Error(e.toString());}
  35.     }
  36.  
  37.     /**
  38.      * Gets the SymantecBeanDescriptor for this bean.
  39.      * @return an object of type SymantecBeanDescriptor
  40.      * @see symantec.itools.beans.SymantecBeanDescriptor
  41.      */
  42.     public BeanDescriptor getBeanDescriptor() {
  43.         ResourceBundle group = ResourceBundle.getBundle("symantec.itools.resources.GroupBundle");
  44.         String s=group.getString("GroupAWTAdditions"); 
  45.  
  46.         SymantecBeanDescriptor bd = new SymantecBeanDescriptor(beanClass);
  47.         bd.setFolder(s);
  48.         bd.setToolbar(s);
  49.         bd.setWinHelp("0x123B8");
  50.  
  51.         return (BeanDescriptor) bd;
  52.     }
  53.  
  54.     /**
  55.      * Gets an image that may be used to visually represent this bean
  56.      * (in the toolbar, on a form, etc).
  57.      * @param iconKind the type of icon desired, one of: BeanInfo.ICON_MONO_16x16,
  58.      * BeanInfo.ICON_COLOR_16x16, BeanInfo.ICON_MONO_32x32, or BeanInfo.ICON_COLOR_32x32.
  59.      * @return an image for this bean, always color even if requested monochrome
  60.      * @see BeanInfo#ICON_MONO_16x16
  61.      * @see BeanInfo#ICON_COLOR_16x16
  62.      * @see BeanInfo#ICON_MONO_32x32
  63.      * @see BeanInfo#ICON_COLOR_32x32
  64.      */
  65.     public java.awt.Image getIcon(int iconKind) {
  66.         if (iconKind == BeanInfo.ICON_MONO_16x16 ||
  67.             iconKind == BeanInfo.ICON_COLOR_16x16) {
  68.             java.awt.Image img = loadImage("RadioButtonGroupPanelC16.gif");
  69.             return img;
  70.         }
  71.  
  72.         if (iconKind == BeanInfo.ICON_MONO_32x32 ||
  73.             iconKind == BeanInfo.ICON_COLOR_32x32) {
  74.             java.awt.Image img = loadImage("RadioButtonGroupPanelC32.gif");
  75.             return img;
  76.         }
  77.  
  78.         return null;
  79.     }
  80.  
  81.     /**
  82.      * Gets an array of descriptions of the methods used for "connections" by
  83.      * Visual CafΘ's Interaction Wizard.
  84.      * Included in each method description is a CONNECTIONS ConnectionDescriptor.
  85.      * @return method descriptions for this bean
  86.      * @see symantec.itools.beans.ConnectionDescriptor#CONNECTIONS
  87.      */
  88.     public MethodDescriptor[] getMethodDescriptors() {
  89.         Class[] args;
  90.         ConnectionDescriptor connection;
  91.         java.util.Vector connections;
  92.         java.util.Vector md = new java.util.Vector();
  93.         ResourceBundle conn = ResourceBundle.getBundle("symantec.itools.resources.ConnBundle");
  94.  
  95.         try{
  96.             args = new Class[1];
  97.             args[0] = java.lang.Integer.TYPE ;
  98.             MethodDescriptor setSelectedRadioButtonIndex = new MethodDescriptor(beanClass.getMethod("setSelectedRadioButtonIndex", args));
  99.  
  100.             connections = new java.util.Vector();
  101.             connection = new ConnectionDescriptor("input", "int", "",
  102.                                     "%name%.setSelectedRadioButtonIndex(%arg%);",
  103.                                     conn.getString("setSelectedRadioButtonIndex"));
  104.             connections.addElement(connection);
  105.  
  106.             setSelectedRadioButtonIndex.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  107.             md.addElement(setSelectedRadioButtonIndex);
  108.         } catch (Exception e) { throw new Error("setSelectedRadioButtonIndex:: " + e.toString()); }
  109.  
  110.  
  111.         try{
  112.             args = null;
  113.             MethodDescriptor getSelectedRadioButtonIndex = new MethodDescriptor(beanClass.getMethod("getSelectedRadioButtonIndex", args));
  114.  
  115.             connections = new java.util.Vector();
  116.             connection = new ConnectionDescriptor("output", "int", "",
  117.                                     "%name%.getSelectedRadioButtonIndex()",
  118.                                     conn.getString("getSelectedRadioButtonIndex"));
  119.             connections.addElement(connection);
  120.  
  121.             getSelectedRadioButtonIndex.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  122.             md.addElement(getSelectedRadioButtonIndex);
  123.         } catch (Exception e) { throw new Error("getSelectedRadioButtonIndex:: " + e.toString()); }
  124.  
  125.         MethodDescriptor[] rv = new MethodDescriptor[md.size()];
  126.         md.copyInto(rv);
  127.  
  128.         return rv;
  129.     }
  130.  
  131.     /**
  132.      * Returns descriptions of this bean's properties.
  133.      */
  134.     public PropertyDescriptor[] getPropertyDescriptors() {
  135.         ResourceBundle prop = ResourceBundle.getBundle("symantec.itools.resources.PropBundle");
  136.  
  137.         try{
  138.         PropertyDescriptor selectedRadioButtonIndex = new PropertyDescriptor("selectedRadioButtonIndex", beanClass);
  139.         selectedRadioButtonIndex.setBound(true);
  140.         selectedRadioButtonIndex.setConstrained(true);
  141.         selectedRadioButtonIndex.setDisplayName(prop.getString("selectedRadioButtonIndex"));
  142.  
  143.         PropertyDescriptor[] rv = {
  144.             selectedRadioButtonIndex};
  145.         return rv;
  146.         } catch (IntrospectionException e) { throw new Error(e.toString()); }
  147.     }
  148.  
  149.     private final static Class beanClass = RadioButtonGroupPanel.class;
  150.  
  151.     }    //  end of class RadioButtonGroupPanelBeanInfo